﻿using System;
using System.ComponentModel;
using System.ComponentModel.Composition;

using SBPweb.RIA.Shared.Contracts.Events;

using SBPweb.PROvibe.Server.Library;
using SBPweb.PROvibe.Server.Library.Modularity;
using SBPweb.PROvibe.Server.Library.Services;

using SBPweb.PROvibe.Shared.Library.Components;

namespace SBPweb.PROvibe.Server.Modules.ServiceProvider
{

    [Export(typeof(IModule))]
    public class ServiceProviderModule : ServerModuleBase
    {

        #region Fields

        private ServiceProviderService service;

        #endregion

        #region Constructor logic

        public ServiceProviderModule()
            : base()
        {
            service = new ServiceProviderService(this);
        }

        #endregion

        #region Properties
        
        #endregion

        #region Methods

        protected override void OnServerContextAssigning()
        {
            base.OnServerContextAssigning();

            ServerContext.ServiceManager.RegisterService(service);
        }

        protected override void OnInitializing(CancelEventArgs e)
        {
            base.OnInitializing(e);
        }

        protected override void OnTerminating(CancelEventArgs e)
        {
            base.OnTerminating(e);
        }

        #endregion

    }
}